﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;

namespace Ivan.Dm.ChromeRemoteDebugger.Protocol {
    [DataContract]
    public class DevToolsServiceListTabsRequest : Command {
        public DevToolsServiceListTabsRequest() {
            Name = DevToolsServiceCommandNames.ListTabs;
            Tool = ToolNames.DevToolsService;
            Destination = string.Empty;
        }
    }

    [DataContract]
    public class DevToolsServiceListTabsResponse : DevToolsServiceCommandResponse {
        [DataMember(Name = CommandJsonFieldNames.Data)]
        public List<object[]> Data { get; set; }
    }

    [DataContract]
    public class DevToolsServicePingRequest : Command {
        public DevToolsServicePingRequest() {
            Name = DevToolsServiceCommandNames.Ping;
            Tool = ToolNames.DevToolsService;
            Destination = string.Empty;
        }
    }

    [DataContract]
    public class DevToolsServiceVersionRequest : Command {
        public DevToolsServiceVersionRequest() {
            Name = DevToolsServiceCommandNames.Version;
            Tool = ToolNames.DevToolsService;
            Destination = string.Empty;
        }
    }

    [DataContract]
    public class DevToolsServiceVersionResponse : DevToolsServiceCommandResponse {
        [DataMember(Name = CommandJsonFieldNames.Data)]
        public string Data { get; set; }
    }
}
